﻿Public Class FormBuscarTorneo
    Private _miCampeonato As Campeonato
    Private _resultadoBusqueda As List(Of String)
    Private _formularioDestino As String 'así se a que formulario tengo que enviar la información Modificar o Baja
    Dim bd As BaseDatos

    Public Property formularioDestino As String
        Get
            Return Me._formularioDestino
        End Get
        Set(value As String)
            Me._formularioDestino = value
        End Set
    End Property

    Private Sub btnBuscarTorneos_Click(sender As Object, e As EventArgs) Handles btnBuscarTorneos.Click
        Me.ListBoxTorneos.Items.Clear()
        Me._resultadoBusqueda = _miCampeonato.buscarTorneos()
    End Sub

    Private Sub FormBuscarTorneo_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        bd = New BaseDatos
        Me.MdiParent = FormEntrada
        _miCampeonato = New Campeonato()
        _resultadoBusqueda = New List(Of String)
        Me.ListBoxTorneos.Items.Clear()
    End Sub

    Private Sub ListBoxTorneos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBoxTorneos.SelectedIndexChanged
        Dim resultado As String
        Dim torneoSeleccionado() As String
        Try
            resultado = Me._resultadoBusqueda(ListBoxTorneos.SelectedIndex)
            torneoSeleccionado = resultado.Split(CChar("-"))

            If Me._formularioDestino = "FormBajaTorneo" Then
                FormBajaTorneo.idTorneoAEliminar = CInt(torneoSeleccionado(0))
                FormBajaTorneo.tbxBajaNombreTorneo.Text = torneoSeleccionado(1)
                FormBajaTorneo.tbxBajaTipoTorneo.Text = torneoSeleccionado(2)
                FormBajaTorneo.tbxBajaFechIIscripcionTorneo.Text = torneoSeleccionado(3)
                FormBajaTorneo.tbxBajaFechFInscripcionTorneo.Text = torneoSeleccionado(4)
                FormBajaTorneo.tbxBajaFechFinTorneo.Text = torneoSeleccionado(5)
                FormBajaTorneo.tbxBajaNRondasTorneo.Text = torneoSeleccionado(6)
                Me.Close()
            ElseIf Me._formularioDestino = "FormModificarTorneo" Then
                FormModificarTorneo.tbxModNombreTorneo.Text = torneoSeleccionado(1)
                FormModificarTorneo.tbxModTipoTorneo.Text = torneoSeleccionado(2)
                FormModificarTorneo.tbxModFechIIscripcionTorneo.Text = torneoSeleccionado(3)
                FormModificarTorneo.tbxModFechFInscripcionTorneo.Text = torneoSeleccionado(4)
                FormModificarTorneo.tbxModFechFinTorneo.Text = torneoSeleccionado(5)
                FormModificarTorneo.tbxModNRondasTorneo.Text = torneoSeleccionado(6)
                FormModificarTorneo.Show()
                Me.Close()
            Else
                FormEntrada.CampeonatoActivo = CInt(torneoSeleccionado(0)) 'guardo el id del torneo activo
                DatosTorneo()
                FormEntrada.ToolStripStatusLabel1.Text = "Torneo: " & CStr(FormEntrada.CampeonatoActivo) & " - " & torneoSeleccionado(1)
                If DateTime.Today() < CDate(torneoSeleccionado(3)) Then
                    FormEntrada.ToolStripStatusLabel2.Text = "Estado: " & "Plazo de inscripción pendiente de apertura"
                ElseIf DateTime.Today() >= CDate(torneoSeleccionado(3)) And DateTime.Today() < CDate(torneoSeleccionado(4)) Then
                    FormEntrada.ToolStripStatusLabel2.Text = "Estado: " & "Plazo de inscripción abierto"
                    FormEntrada.AñadirEquiposToolStripMenuItem.Enabled = True
                ElseIf DateTime.Today() >= CDate(torneoSeleccionado(4)) And DateTime.Today() < CDate(torneoSeleccionado(5)) Then
                    FormEntrada.ToolStripStatusLabel2.Text = "Estado: " & "Plazo de inscripción cerrado"
                    FormEntrada.GenerarPartidosToolStripMenuItem.Enabled = True
                    FormEntrada.GestionarPartidosToolStripMenuItem.Enabled = True
                    FormEntrada.AñadirEquiposToolStripMenuItem.Enabled = False
                    FormEntrada.ClasificaciónToolStripMenuItem.Enabled = True
                    FormEntrada.ImprimirClasificaciónToolStripMenuItem.Enabled = True
                ElseIf DateTime.Today() >= CDate(torneoSeleccionado(5)) Then
                    FormEntrada.ToolStripStatusLabel2.Text = "Estado: " & "Torneo finalizado"
                End If
                If _miCampeonato.ComprobarTorneoGenerado(FormEntrada.CampeonatoActivo) Then
                    FormEntrada.GenerarPartidosToolStripMenuItem.Enabled = False
                End If
                Me.Close()
                End If
        Catch ex As Exception
        End Try
    End Sub

    Public Sub DatosTorneo()
        Dim datosTorneo As String
        Dim listaAux As List(Of String) = New List(Of String)
        Dim datos() As String
        listaAux = bd.Consultar("Select * from Torneos where Id = " & FormEntrada.CampeonatoActivo & ";", "Torneos")
        datosTorneo = listaAux(0)
        For Each dato As String In datosTorneo
            datos = Split(datosTorneo, "-")
            'nombre torneo
            FormEntrada.NombreTorneo = datos(1)
            'número de rondas
            FormEntrada.RondasTorneo = CInt(datos(6))
            'tipo de torneo
            FormEntrada.TipoTorneo = datos(2)
        Next
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Close()
    End Sub
End Class